<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
            "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>



<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="GENERATOR" content="hevea 1.08">
<LINK rel="stylesheet" type="text/css" href="libman.css">
<TITLE>
Repair
</TITLE>
</HEAD>
<BODY >
<A HREF="libman007.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="libman002.html"><IMG SRC ="contents_motif.gif" ALT="Up"></A>
<A HREF="libman009.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<HR>

<H2 CLASS="section"><A NAME="htoc13">1.6</A>&nbsp;&nbsp;Repair</H2>
The <EM>repair</EM> library allows a <EM>tentative</EM> value to be
associated with any variable [<A HREF="libman072.html#cp99wkshoptalk"><CITE>22</CITE></A>].
This tentative value may violate constraints on the variable, in which
case the constraint is recorded in a list of violated constraints.
The repair library also supports propagation <EM>invariants</EM>
[<A HREF="libman072.html#Localizer"><CITE>18</CITE></A>].
Using invariants, if a variable's tentative
value is changed, the consequences of this change can be propagated to
any variables whose tentative values depend on the changed one.
The use of tentative values in search is illustrated in the ECL<SUP><I>i</I></SUP>PS<SUP><I>e</I></SUP> 
&#8220;Tutorial on Search Methods&#8221;.<BR>
<BR>
<HR>
<A HREF="libman007.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="libman002.html"><IMG SRC ="contents_motif.gif" ALT="Up"></A>
<A HREF="libman009.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
</BODY>
</HTML>
